As network speeds increase, I/O devices with direct cache access are capable of pushing data into CPU cache memory at rates that can exceed the cache memory capacities typically available. Additionally, network device drivers often need to provide large numbers of receive buffers to handle conditions such as burst network traffic or delays in the return of buffers from application software higher in the O/S network stack.
This large number of receive buffers represents a large memory consumption, which can result in a large cache memory consumption under these conditions. Since cache memory is a limited system resource, having a large cache consumption can result in an increased number of cache line evictions where the receive buffers get mapped out of cache memory back into system memory. This can slow down the data transfer process which may result in performance degradation.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.